const path = require("path");
const xlsx = require("node-xlsx");
const user = require("../sql/user");
const md5 = require("md5");
const uuid = require("uuid");
const fs = require("fs");

module.exports = function(){
  return (req,res,next)=>{
    // 找到上传到服务器中的xlsx文件的绝对路径
    const p = path.join(__dirname, "..", "upload", req.files[0].filename)
    // 使用xlsx模块，解析该文件
    const data = xlsx.parse(p);
    // 遍历并筛选所需数据
    const arr = [];
    for(let i=1;i<data[0].data.length;i++){
      const row = data[0].data[i];
      arr.push({
        username: row[0],
        password: md5((row[0]+"").slice(-6)),
        power: 0,
        userId: "user-" + uuid.v1()
      });
    }
    // 将筛选并拼接之后符合数据库格式要求的数据，存取数据库
    user.insertMany(arr).then(()=>{
      res.send({state:0, msg:"导入成功"});
      // 删除导入成功后的文件
      fs.unlinkSync(p);
    })
  }
}